1278F - Cards - CodeForces Solution


combinatorics dp math number theory probabilities *2600

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize ("Ofast")
#pragma GCC target ("avx2")
#define el << '\n'
#define nl cout << '\n'
#define cina(a,n) for (int i=0; i<n; i++) cin >> a[i]
#define ll long long
#define spc << ' '
#define forn(i,n) for (int i=0; i<n; i++)
#define forl(i,s,e) for (int i=s; i<e; i++)
#define MOD 1000000007
#define MOD2 998244353
#define pb push_back
#define ansyes cout << "YES\n"
#define ansno cout << "NO\n"
#define fi first
#define se second
#define pii pair<int, int>
#define pll pair<long long, long long>

ll power(ll a, ll b) {
    if (b==0) return 1;
    if (b%2) return (a*power(a,b-1))%MOD2;
    ll temp = power(a,b/2);
    return (temp*temp)%MOD2;
}

ll inv(ll a) {
    return power(a,MOD2-2);
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ll n,m; cin >> n >> m;
    ll k; cin >> k;
    ll dp[k+1][k+1];
    forn(i,k+1) forn(j,k+1) dp[i][j]=0;
    dp[0][0]=1;
    forn(i,k) {
        forn(j,k) {
            dp[i][j] %= MOD2;
            dp[i+1][j+1] += dp[i][j]*(n-j);
            dp[i+1][j] += dp[i][j]*j;
        }
        dp[i+1][k] += dp[i][k]*k;
    }
    ll ans=0;
    forl(i,1,k+1) {
        ans += (dp[k][i]%MOD2 * inv(power(m,i)));
        ans %= MOD2;
    } 
    cout << ans;
}


Comments

Submit
0 Comments
More Questions

520A - Pangram
124A - The number of positions
1041A - Heist
901A - Hashing Trees
1283A - Minutes Before the New Year
1654D - Potion Brewing Class
1107B - Digital root
25A - IQ test
785A - Anton and Polyhedrons
1542B - Plus and Multiply
306A - Candies
1651C - Fault-tolerant Network
870A - Search for Pretty Integers
1174A - Ehab Fails to Be Thanos
1169A - Circle Metro
780C - Andryusha and Colored Balloons
1153A - Serval and Bus
1487C - Minimum Ties
1136A - Nastya Is Reading a Book
1353B - Two Arrays And Swaps
1490E - Accidental Victory
1335A - Candies and Two Sisters
96B - Lucky Numbers (easy)
1151B - Dima and a Bad XOR
1435B - A New Technique
1633A - Div 7
268A - Games
1062B - Math
1294C - Product of Three Numbers
749A - Bachgold Problem